import { IParam } from '@/core';
import { Sys_deploy_systemUIServiceBase } from './sys-deploy-system-ui-service-base';

/**
 * 系统UI服务
 * 基于template/src/ui-service/{{appEntities}}/{{appEntities}}-ui-service.ts.hbs生成
 *
 * @export
 * @class Sys_deploy_systemUIService
 * @extends Sys_deploy_systemUIServiceBase
 */
export class Sys_deploy_systemUIService extends Sys_deploy_systemUIServiceBase {
	/**
	 * 基础UI服务实例
	 *
	 * @private
	 * @type { Sys_deploy_systemUIService }
	 * @memberof Sys_deploy_systemUIService
	 */
	private static basicUIServiceInstance: Sys_deploy_systemUIService;

	/**
	 * UI服务存储Map对象
	 *
	 * @private
	 * @type {Map<string, any>}
	 * @memberof Sys_deploy_systemUIService
	 */
	private static UIServiceMap: Map<string, any> = new Map();

	/**
	 * Creates an instance of Sys_deploy_systemUIService.
	 * @memberof Sys_deploy_systemUIService
	 */
	constructor(opts?: IParam) {
		super(opts);
	}

	/**
	 * 获取实例
	 *
	 * @static
	 * @param 应用上下文
	 * @return {*}  { Sys_deploy_systemUIService }
	 * @memberof Sys_deploy_systemUIService
	 */
	static getInstance(opts?: IParam): Sys_deploy_systemUIService {
		if (!this.basicUIServiceInstance) {
			this.basicUIServiceInstance = new Sys_deploy_systemUIService(opts);
		}
		return this.basicUIServiceInstance;
	}
}
export default Sys_deploy_systemUIService;
